Conventionally, a video stream recorded using an image sensor, such as in a camera, may suffer from motion of: an operator of the camera, a support structure of a camera, and/or an object being recorded with a camera. Unwanted motion may lead to an unpleasant viewing experience, an adverse impact on video compression efficiency, and/or a hindrance with video analytic and/or security applications. This unwanted motion may be a translation motion, such as due to vibration and/or jitter (hereinafter collectively and singly “translational jitter”), parallel to an X, Y plane of an image sensor. Undesired motion of a camera or other device with an image sensor may lead to introduction of artifacts, shaking, motion blur, and/or distortion of contours of rigid objects in a captured image. This undesired motion may thus lead to a reduction in image quality.
Motion in or of an image may be local or global, respectively. Pixel-based motion vectors (i.e., optical flow) may be determined from changes in pixel values in an image with analysis of configuration, such as by segmentation, of a scene in such image, and/or individual motion parameters of scene components. Other contributors to motion vectors may include: intended global motion (e.g., camera panning), unintended global motion (e.g., jitter and/or oscillations), background motion (e.g., motion in an x-axis, y-axis, and/or z-axis (e.g., a camera mounted on a moving vehicle), rigid object motion (e.g., translation and/or rotation), and/or non-rigid object motion (e.g., waves and/or mist). Unfortunately, prior conventional image stabilization in high-bandwidth video recording devices has been quite complex.
Accordingly, it would be desirable to provide image stabilization for video recording that is less complicated than in the past.